package agenda;

import org.junit.*;

/**
 * @author Emerson Borges - emerson.borges@ccc.ufcg.edu.br
 * @author Rafael Lima    - rafael.ufcg10@gmail.com
 */

public class TestaEvento {
	private Evento evento;
	private Evento evento2;
	private Evento umEvento;
	private Evento umEvento2;
		
	@Before
	public void setUp() throws Exception{
		evento = new Evento("Aula P2", "02/11/2011", "10:00:00", "02:00:00", "Aula de revisao no feriado", "Aula");
		evento2 = new Evento("Aula LP2","02/11/2011", "10:00:00", "02:00:00", "Aula de revisao no feriado", "Aula");
		umEvento = new Evento("Prova P2", "03/11/2011", "08:00:00", "02:00:00", "Aplicacao do miniteste 09", "Prova");
		umEvento2 = new Evento("Prova LP2", "03/11/2011", "10:00:00", "02:00:00", "Aplicacao da prova", "Prova");
	}
	
	@Test
	public void TestaEventos() throws Exception{
		try{
			Evento eventoTeste = new Evento("Aula P2", "10:00:00", "02:00:00", "", "", "");
			Assert.assertEquals("Aula P2", eventoTeste.getNomeEvento());
			
			}catch(Exception except){
				System.err.printf("Erro no construtor");
		}
	}
	
	@Test
	public void TestaGetNomeEvento(){
		Assert.assertEquals("Erro", "Aula P2", evento.getNomeEvento());
		
	}
	@Test
	public void TestaSetNomeEvento() throws Exception{
		umEvento.setNomeEvento("Prova P2");
		Assert.assertEquals("Erro", "Prova P2", umEvento.getNomeEvento());
		umEvento.setNomeEvento("Aula normal");
		Assert.assertEquals("Erro", "Aula normal P2", umEvento.getNomeEvento());
	}
	
	@Test
	public void TestaAvaliaChoqueEvento() {
		Assert.assertTrue(evento.avaliaChoqueEventos(evento2));
		Assert.assertFalse(evento.avaliaChoqueEventos(evento2));
		Assert.assertFalse(umEvento.avaliaChoqueEventos(umEvento2));
		Assert.assertFalse(umEvento.avaliaChoqueEventos(umEvento2));
	}
	
	@SuppressWarnings("deprecation")
	@Test
	public void testaGetDataHoraEvento(){
		Assert.assertEquals(02, evento.getDataHoraEvento().getDate());
		Assert.assertEquals(03, umEvento.getDataHoraEvento().getDate());
	}

}
